package stu.day33_day38.day36;

import java.util.HashMap;

public class hw1 {



    public int divisorSubstrings(int num, int k) {

        String str = String.valueOf(num);
        int len = str.length();

        int beg = 0;
        int end = k;

        int number = 0;
        while (end<=len){
            int i = Integer.parseInt(str.substring(beg,end));
            beg += 1;
            end += 1;
            if(i==0){
                continue;
            }
            if(num%i==0){
                number += 1;
            }

        }
        return number;
    }


    public int countGoodSubstrings(String s) {

        if(s.length()<3){
            return 0;
        }

        int num = 0;
        HashMap<Character,Integer> map = new HashMap<>();
        for(int i=0;i<2;i++){
            char ch = s.charAt(i);
            int n = map.getOrDefault(ch,0);
            map.put(ch,n+1);
        }

        for(int i=2;i<s.length();i++){
            char ch = s.charAt(i);
            int n = map.getOrDefault(ch,0);
            map.put(ch,n+1);

            if(del(map)){
                num += 1;
            }

            char ch1 = s.charAt(i-2);
            int n1 = map.getOrDefault(ch1,0);
            if(n1<=1){
                map.remove(ch1);
            }else{
                map.put(ch1,n1-1);
            }


        }



        return num;
    }

    public boolean del(HashMap<Character,Integer> map){
        for(Character ch:map.keySet()){
            if(map.get(ch)!=1){
                return false;
            }
        }
        return true;
    }



}
